Code 128

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Слово «Wikipedia», записанное при помощи Code 128-B

Стандарт штрихкода Code 128 существенно отличается от таких широко распространённых стандартов штрихового кода, как, например, EAN. Отличия заключаются, прежде всего, в возможности кодирования не только цифр, но и букв латинского алфавита, а также специальных символов. Кроме того, цифровой код в формате Code 128 становится очень компактным, что достигается за счёт «двойной упаковки» данных, когда две цифры записываются в один шаблон штрихкода. Буквенные символы кодируются обычным — «одиночным» — способом, что делает буквенный код в формате Code 128 вдвое длиннее цифрового.

Штриховой код Code 128 включает в себя 107 символов, из которых 103 символа данных, 3 стартовых и 1 остановочный (стоп) символ. Для кодирования всех 128 символов ASCII предусмотрено три комплекта символов штрихового кода Code 128 — A, B и C, которые могут использоваться внутри одного штрихкода.

  • 128A — символы в формате ASCII от 00 до 95 (цифры от «0» до «9» и буквы от «A» до «Z»), специальные символы и символы FNC 1-4;
  • 128B — символы в формате ASCII от 32 до 127 (цифры от «0» до «9», буквы от «A» до «Z» и от «a» до «z»), специальные символы и символы FNC 1-4;
  • 128C — числа от 00 до 99 (двузначное число кодируется одним символом) и символ FNC 1.

Технические требования к символике штрихового кода Code 128, показатели символики, кодирование знаков данных, размеры, алгоритмы декодирования, параметры применения и строки-префиксы и идентификатора символики в России регламентируются ГОСТ 30743-2001 (ИСО/МЭК 15417—2000) (Заменен на ГОСТ ISO/IEC 15417-2013) «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Code 128 (Код 128)».

Структура Code 128

[править | править код]

Структура штрихкода Code 128 достаточно проста. Штрихкод состоит из шести зон:

  • Белое поле;
  • Стартовый символ (Start);
  • Кодированная информация;
  • Проверочный символ (контрольный знак);
  • Остановочный (Stop) символ;
  • Белое поле.

Символы штрихового кода Code 128 состоят из трёх штрихов и трёх промежутков. Штрихи и промежутки имеют модульное построение. Ширина каждого штриха и промежутка составляет от 1 до 4 модулей (1 модуль = 0,33 мм). Ширина знака равна 11 модулям. Остановочный (стоп) знак состоит из тринадцати модулей и имеет четыре штриха и три промежутка.

Контрольный знак Code 128

[править | править код]

Существует 107 шаблонов (patterns), каждый из которых кодируется 11 модулями, включающими 3 полоски (slim bars) и 3 промежутка (spaces). Исключение — стоп-шаблон [STOP] имеет 4 полоски и кодируется 13 модулями.

Каждый шаблон декодируется по таблице, для некоторых шаблонов определены управляющие воздействия, определяющие режим декодирования.

Один из трех стартовых шаблонов [START-A] (#103), [START-B] (#104) или [START-C] (#105) ограничивает код слева и определяет таблицу декодирования (A, B или C). Шаблон [STOP] (#106) ограничивает код справа. Перед шаблоном [STOP] идет шаблон контрольной суммы. Слева и справа от штрихкода должно быть свободное пространство (Quiet zone) шириной по крайней мере в 10 модулей.

Шаблон [SHIFT] (#98 в таблицах A и B) позволяет переключаться между таблицами A и B. Шаблоны [Code C] (#99 в таблицах A и B), [Code B] (#100 в таблицах A и C) и [Code A] (#101 в таблицах B и C) управляют непосредственным включением соответствующей таблицы декодирования.

Функциональные шаблоны [FNC1]-[FNC4] не определены.

Контрольная сумма занимает один шаблон и должна быть добавлена перед шаблоном [STOP]. Шаги для расчета контрольной цифры таковы:

1. Начальное значение = значению шаблона [START] (103, 104 или 105).

2. Для каждого следующего шаблона в сообщении (исключая [STOP]): взять его номер в таблице кодировки, умножить его на свою позицию (позиция первого шаблона после [START] равна 1). Результат добавить к контрольной сумме.

3. Контрольной суммой будет считаться остаток от деления результата на 103.

Значением (value) шаблона считается его порядковый номер в таблице (считаем с нуля).[1]

Примечания

[править | править код]
  1. TradePilot. — Описание стандарта штрихкода Code 128. Дата обращения: 29 ноября 2009. Архивировано из оригинала 13 апреля 2012 года.
  • Online barcode generator Бесплатный онлайн ресурс для генерации ШК различных типов. Please check — On this page make barcode fo type Code128 — not correct.
  • Code 128 generator (MIT) JavaScript реализация